Method and system for multirate multiuser modulation

ABSTRACT

A multi-rate interleaved frequency division multiple access (IFDMA) modulation scheme permits users to transmit at different data rates or to vary their data rates while providing frequency diversity and preserving low peak-to-average power ratios and orthogonality between users at different data rates. The modulation scheme allows user-specific data block and repetition sizes, as well as user-specific modulation codes. Code assignment rules are provided for maintaining orthogonality between users having different data rates. Block and phase ramp modulation codes can be used. Asynchronous transmissions by users are supported by ensuring that the length of the cyclic extension is sufficiently long to tolerate worst case relative signal arrival delays between users and the channel pulse response duration over the communication medium. The modulation scheme can be employed in wireless communication systems, such as cellular or paging systems.

TECHNICAL FIELD OF THE INVENTION

[0001] The invention relates generally to wireless communications, and in particular, to an improved modulation scheme for a wireless system.

BACKGROUND OF THE INVENTION

[0002] A challenging aspect of designing advanced cellular systems is the development of a flexible and efficient physical layer modulation scheme. Some of the desirable attributes of a physical layer include: moderate peak-to-average power ratio, to reduce the cost, size, and power consumption of subscriber-unit power amplifiers; support for a wide range of data rates, and the ability to vary data rates based on received signal quality; support for adaptive modulation; support for frequency diversity of wideband channels (e.g., 20 MHz), even when transmitting at “narrowband” data rates; and the ability to maintain orthogonality between transmissions by different users in a cell, in order to minimize intra-cell interference and maximize capacity.

[0003] Interleaved frequency division multiple access (IFDMA) is a multicarrier modulation method that could potentially satisfy many of the above-listed criteria for a physical layer. IFDMA takes some of the desirable characteristics of both orthogonal frequency division multiplex (OFDM) and single carrier modulation and combines them into an improved type of modulation. With IFDMA, the baseband signal begins as a single-carrier quadrature phase shift keying (QPSK) or quadrature amplitude modulation (QAM) symbol stream. Since IFDMA starts as a single carrier scheme (prior to blocking and repetition), it has the same peak-to-average ratio as single carrier modulation, and provides frequency diversity. However, in the IFDMA scheme, every user must transmit with the same number of subcarriers. This prevents the use of different data rates by different users and limits the flexibility of IFDMA in an advanced communication system.

[0004] Therefore, there is a need for an improved modulation scheme that provides a high degree of data rate flexibility, while preserving orthogonality and a low peak-to-average ratio.

BRIEF DESCRIPTION OF THE DRAWINGS

[0005]FIG. 1 is a block diagram of a system in accordance with the present invention;

[0006]FIG. 2 is a flow chart illustrating the operation of the transmitter of the system shown in FIG. 1;

[0007]FIG. 3 illustrates an exemplary repeated symbol-block;

[0008]FIG. 4 is a table illustrating the characteristics of the modulation scheme employed by the system of FIG. 1;

[0009]FIG. 5 is a frequency chart illustrating the subcarriers occupied by users of the system of FIG. 1 under an exemplary operating scenario;

[0010]FIG. 6 is a block diagram of a first exemplary receiver usable in the system shown in FIG. 1;

[0011]FIG. 7 is a flow chart illustrating the operation of the first receiver shown in FIG. 6;

[0012]FIG. 8 is a block diagram illustrating a second exemplary receiver usable in the system shown in FIG. 1;

[0013]FIG. 9 is a flow chart illustrating the operation of the second receiver of FIG. 8;

[0014]FIG. 10 illustrates an exemplary sequence of symbol-blocks transmitted over a channel;

[0015]FIG. 11 illustrates exemplary symbol-block repetitions for multiple users of a system;

[0016]FIG. 12 illustrates exemplary symbol-block repetitions for multiple users of a system that employs rational multiple data rates;

[0017]FIG. 13 shows code trees illustrating exemplary channelization code assignments for block modulation codes;

[0018]FIG. 14 is a flow chart of a method of channelization code assignment;

[0019]FIG. 15 shows code trees illustrating exemplary channelization code assignments for phase ramp modulation codes;

[0020]FIG. 16 illustrates the relative temporal positions of asynchronous transmissions received by a receiver includable in the system of FIG. 1; and

[0021]FIG. 17 is a flow chart illustrating a method of processing asynchronous transmissions.

DETAILED DESCRIPTION OF THE PRESENTLY PREFERRED EMBODIMENTS

[0022] It is an advantage of the present invention to provide a significantly improved multirate multiuser modulation technique. The present invention provides an IFDMA-type modulation scheme that enables different users in a communication system to transmit simultaneously at different data rates (or different effective bandwidths), while providing frequency diversity and preserving low peak-to-average power ratios and the orthogonality between the users. Additionally, the improved modulation scheme permits transmitters within the system to vary their data rates (or effective bandwidths), while preserving low peak-to-average power ratios and orthogonality.

[0023] The present invention avoids large peak-to-average ratios by modulating each multirate user with a single orthogonal code, thereby maintaining the low peak-to-average ratios normally associated with single-carrier systems.

[0024] System and Transmitter Signal Processing

[0025]FIG. 1 is a block diagram of an exemplary system 100 in accordance with the present invention. The system 100 includes one or more transmitters 102, each corresponding to particular user, communicating with one or more receivers 104 by way of a communication channel 106. The communication channel 106 can be a radio frequency (RF) channel in a multi-user communication system, such as a cellular system, paging system, mobile radio system, or the like. Multiple users, such as User i, User j, and User k, as illustrated, can simultaneously transmit data over the channel 106. The transmitters 102 and receivers 104 can be mobile subscriber units, such as mobile phones and pagers, and/or base stations. The transmitters 102 and receivers 104 can include suitable combinations of hardware and/or software components for implementing the modulation scheme of the present invention. As shown, the User i transmitter 102 illustrated in FIG. 1 includes a block repeater 108, a cyclic extension device 110, a modulator 112, and a pulse-shaping filter 114. As will be described in further detail below, the receiver 104 includes processes for demodulating and equalizing received signals.

[0026] The system 100 is described further herein for the case where users within the IFDMA-type system can have different data rates. Two coding techniques (block and phase ramp modulation codes) of achieving orthogonal discrimination for different data rates are disclosed. The conditions for maintaining orthogonality, i.e., no multiple access interference (MAI), between the different users are also described in detail.

[0027] With IFDMA, the baseband signal begins as a single-carrier phase shift keying (PSK) or quadrature amplitude modulation (QAM) symbol stream. The symbols are grouped into blocks which are repeated L times prior to filtering (typically with a root-raised cosine filter) and transmission, where L is an integer. The repetition of the symbol blocks causes the spectrum of transmitted signal to be non-zero only at certain subcarrier frequencies (namely, every L^(th) subcarrier). Thus, the transmitted signal spectrum before pulse shaping is similar to what would be seen if data symbols were only modulated on every L^(th) subcarrier of an orthogonal frequency division modulation (OFDM) signal. In particular, this type of OFDM transmission is sometimes called comb OFDM. However, after pulse shaping, the IFDMA spectrum drops off faster compared to OFDM. Since the signal occupies only one of every L subcarriers, a total of L different users can transmit simultaneously. The present invention is also applicable to the case of different users using different constellation sizes (e.g. QPSK, M-ary QAM, 8-PSK).

[0028] The IFDMA transmissions remain orthogonal as long as: 1) they occupy different sets of subcarriers, which is accomplished by user-specific modulation codes, 2) a cyclic extension (or guard period) is added to the transmission, where the cyclic extension is longer than the channel pulse response, and 3) the signals are synchronized with the receiver 104 in time and frequency.

[0029] Turning now to FIG. 2, there is shown a flowchart 150 illustrating an example of the operation of the transmitter 102 of FIG. 1. For each active user i, (i=1, . . . ,K, within a single cell of the mobile communication system 100, block transmission of Q_(i) data symbols, d^((i))=[d₀(i), d₁(i), . . . , d_((Qi−1))(i)] is performed.

[0030] In step 152, data symbols for user i are converted from a serial symbol form to a parallel symbol format and then received by the block repeater 108. In step 154, a symbol block is formed by block repetition of Q_(i) data (e.g. QAM) symbols (L_(i) times). A user-specific block repetition rate is used. The block repetition increases the bandwidth occupied of the transmitted signal by L_(i) and causes its spectrum to be non-zero only at every L_(i) ^(th) subcarrier frequency (subcarrier spacing=1/Q_(i)L_(i)). An example of a repeated symbol-block is shown in FIG. 3.

[0031] In step 156 of FIG. 2, a guard period (a cyclic extension comprising a prefix, postfix, or both) is added prior to modulation and pulse shaping of the repeated symbol-block. When a cyclic prefix of length v is used and the time is indexed from −v to Q_(i)L_(i)−1, the elements of the repeated symbol-block, f^(i), are

f_(l) ^(i)=d_((l modQ) _(l) ₎ ^(i) l=0 . . . (Q_(i)L_(i)−1)  (1)

[0032] In step 158, a user-specific modulation code is applied by the modulator 112. The modulation code can be any suitable code meeting the code assignment conditions disclosed herein. After applying the user-specific modulation code, the transmitted symbol vector becomes

x _(lQ) _(l) _(+q) ^(i) =f _(lQ) _(l) _(+q) ^(i) ·b _(lQ) _(l) _(+q) ^(i) =d _(q) ^(i) ·3b _(lQ) _(l) _(+q) ^(i) l=0 . . . (L _(i)−1), q=0 . . . (Q _(i)−1) x _(−l) ^(i) =f _(Q) _(l) _(L) _(l) ⁻¹ ^(i) ·b _(−l) ^(i) l=1 . . . v  (2)

[0033] where b_(l) ^(i) is the modulation code assigned to user i with data rate R_(i) (proportional to Q_(i)).

[0034] In the following description, data rate is defined as the ratio of the number of symbols in a symbol-block to the total number of symbols in the repeated symbol-block, i.e., ${{data}\quad {rate}} = \frac{{{number}\quad {of}\quad {symbols}\quad {in}\quad {symbol}} - {block}}{{{total}\quad {number}\quad {of}\quad {symbols}\quad {in}\quad {repeated}\quad {symbol}} - {block}}$

[0035] With proper selection of modulation codes and user data rates, orthogonality between the different data rate users can be maintained even in multipath conditions as long as the channel varies slowly with respect to the repeated symbol-block duration. To maintain orthogonality, the repeated symbol-block duration can be the same for all users, i.e.,

N=Q_(i)L_(i)∀i  (3)

[0036] In step 160, a parallel-to-serial conversion is performed on the symbol vector. The serialized vector is then filtered using the pulse-shaping filter 114 (step 162) before being transmitted on the channel 106.

[0037] The present invention provides for multirate transmissions by using user-specific data block and repetition sizes, as well as user-specific modulation codes, thereby providing different data rates to different users and hence a high degree of data rate flexibility. It also preserves a low peak-to-average ratio and provides two choices for the user-specific modulation codes (block and phase-ramp modulation codes). These modulation codes maintain the orthogonality (i.e., little or no MAI) between the different data rates even in a multipath channel.

[0038] Now, consider an exemplary system with bandwidth B and four users with different data rate requirements. Let Rs be the maximum data rate that can be achieved by a single user occupying the entire bandwidth B. The user-specific data rate requirements are given in table 180 of FIG. 4. Also tabulated are the user-specific parameters and possible code assignments for the multi-rate IFDMA of the present invention. The present invention can completely satisfy the different data requirements by assigning user-specific symbol-block and repetition sizes and user-specific modulation codes to the different users as shown in table 180.

[0039] In the frequency domain, the modulation codes have the effect of interleaving the spectrum of the various multirate users of the system 100. An example of the interleaving is illustrated in FIG. 5. Specifically, FIG. 5 shows a graph 190 of the subcarriers occupied by four users of the modulation scheme disclosed herein. As seen from FIG. 5, the higher data rate user (user A) is allocated more bandwidth (subcarriers) than the other lower data rate users (users B,C,D). The present invention is not limited to the number of users or subcarrier allocations illustrated by the example of FIG. 5.

[0040] Receiver Signal Processing

[0041]FIG. 6 and FIG. 8 show two alternative receiver architectures usable as the receiver 104 of FIG. 1. Each of these architectures is discussed below in further detail. However, the general operation of the receiver 104 is described first. The complex envelope of the combined received signal from K users after propagating through the multipath channel 106 and being corrupted by additive white gaussian noise is given by, $\begin{matrix} {y_{l} = {{{\sum\limits_{j = 1}^{K}\quad {\sum\limits_{m = 0}^{M}\quad {x_{l - m}^{j} \cdot p_{m}^{j}}}} + {n_{l}\quad l}} = {{- v}\quad \ldots \quad \left( {N - 1} \right)}}} & (4) \end{matrix}$

[0042] where p_(l) ^(i)=t_(l)*h_(l) ^(i)*r_(l) is the equivalent baseband channel pulse response (CPR) for user i (dimension=M+1), with h_(l)=equivalent low-pass channel impulse response, t_(l)=equivalent transmitter baseband pulse, r_(l)=equivalent receiver baseband pulse, and n_(l)=receiver noise (AWGN).

[0043] The receiver 104 can select the last N samples (i.e after the cyclic extension removal) of the received signal in Eq. (4) to demodulate the user data. The demodulation process for user i consists of equalization of the channel pulse response, p_(l) ^(i), modulation code correlation, b_(l) ^(i), and combining of the L_(i) repetitions. Depending on the order of the operations, two receiver structures are possible as described below.

[0044] First Receiver Architecture

[0045]FIG. 6 shows the first receiver structure 200. In this architecture, the channel equalization is performed prior to correlating the signal with the user-specific modulation code. The first receiver 200 includes a RF to complex baseband conversion circuit 204, which includes an A/D converter/sampling circuit, a baseband filter 206, a cyclic extension remover 208, an equalizer 210, a demodulator 212, a symbol-block combiner 214, and a symbol decision device 216. The demodulator 212, symbol-block combiner 214, and symbol decision device 216 perform their functions for specific users.

[0046]FIG. 7 is a flow chart 230 illustrating the operation of the first receiver 200. In step 232, the received signal is down converted to a complex baseband signal, filtered (image rejection, adjacent channel rejection, avoid aliasing) and digitized by the A/D converter/sampling circuit 204. In step 233, the baseband signal is baseband filtered—typically a match filter matched to the transmit pulse shaping filter. In step 234, the cyclic extension is removed.

[0047] In step 236, the sampled baseband combined received signal (after cyclic extension removal −N samples for 1× oversampling in the receiver) from all users is equalized for each user's channel response using a frequency domain equalization technique. As each user is using an orthogonal set of sub-carriers (due to user-specific block repetitions and modulation codes), all users can be equalized simultaneously in the frequency domain using only one N-point transform. However, the equalizer coefficients are different for each user and are applied only to the sub-carriers occupied by that user. Hence, step 236 performs a combination of common processing and user-specific processing. Alternatively the equalization can be based on other techniques such as linear transversal time-domain equalizer, decision feedback equalizer, maximum likelihood sequence estimation, iterative equalizer, inter-symbol-interference (ISI) canceller, and turbo equalizer.

[0048] In step 238, for each user, the equalized signal is then code correlated by the demodulator 212. In step 240, the correlated signal is combined resulting in an soft estimate of the Q_(i) transmitted symbols, z^((i)). The soft decisions can be passed to a Forward Error Correction (FEC) decoder if error correction coding was used in the transmitter. In step 242, a logic decision is made based on the estimated symbols to determine the values of the symbols. The symbols can each include one or more bits.

[0049] Second Receiver Architecture

[0050]FIG. 8 shows the second receiver structure 260. In this architecture, the correlation with user-specific codes is performed prior to channel equalization. The second receiver 260 includes a RF to complex baseband conversion circuit 264, which includes an A/D converter/sampling circuit, a baseband filter 266, a cyclic extension remover 268, a demodulator 270, a symbol-block combiner 272, an equalizer 274, and a symbol decision device 276. The demodulator 270, symbol-block combiner 272, equalizer 274, and symbol decision device 276 perform their functions on a user-specific basis.

[0051]FIG. 9 is a flow chart 280 illustrating the operation of the second receiver 260. FIG. 9 shows the receiver signal processing for this type of receiver structure 260.

[0052] In step 282, the received signal is down converted to a complex baseband signal, filtered (image rejection, adjacent channel rejection, avoid aliasing) and digitized by the A/D converter/sampling circuit 264. In step 283, the baseband signal is baseband filtered, typically a match filter matched to the transmit pulse shaping filter. In step 284, the cyclic extension is removed.

[0053] In step 286, for each user, the sampled baseband combined signal (after cyclic extension removal) from all users is correlated by the demodulator 270. In step 288, the correlated signal is combined using the user-specific block repetitions. The resulting signal (Q_(i) samples for 1× receiver oversampling) is then equalized (time or frequency domain) resulting in an estimate of the Q_(i) transmitted symbols, z^((i)) (step 290). Equalization can be achieved using various techniques including linear transversal time-domain equalizer, decision feedback equalizer, maximum likelihood sequence estimation, linear frequency domain equalizer, iterative equalizer, ISI canceller, and turbo equalizer. If frequency domain equalization is used, a Qi point transform is needed for each user. In step 292, a logic decision is made based on the estimated symbols to determine the values of the symbols. The symbols can each include one or more bits.

[0054] Receiver Analysis

[0055] The following analysis is based on the first receiver 200 in FIG. 6. However, the analysis results derived herein are also valid for the second receiver 260 shown in FIG. 8.

[0056] The analysis is as follows. Let g_(i) ^(ij) be the response of the j^(th) user channel pulse response, p_(l) ^(j), to the equivalent i^(th) user equalization filter, e_(l) ^(j), i.e., g_(l) ^(ij)=p_(l) ^(j)*e_(l) ^(l). Thus, the equalized received signal samples for user i are given by, $\begin{matrix} {z_{l}^{i} = {{{\sum\limits_{j = 1}^{K}\quad {\sum\limits_{m = 0}^{M}\quad {x_{l - m}^{j} \cdot g_{m}^{ij}}}} + {{\overset{\sim}{n}}_{l}\quad l}} = {0\quad \ldots \quad \left( {N - 1} \right)}}} & (5) \end{matrix}$

[0057] For deriving the conditions for orthogonal user discrimination, noise free transmission (n_(l)=0) is assumed. Thus, $\begin{matrix} {z_{l}^{i} = {{\sum\limits_{j = 1}^{K}\quad {\sum\limits_{m = 0}^{M}\quad {{x_{l - m}^{j} \cdot g_{m}^{ij}}\quad l}}} = {0\quad \ldots \quad \left( {N - 1} \right)}}} & (6) \end{matrix}$

[0058] An estimate of the transmitted Q_(i) data symbols of user i is obtained by correlating the equalized received signal samples with the corresponding i^(th) user modulation code, b_(l) ^(i), and combining the information in the L_(i) repetitions as follows, $\begin{matrix} \begin{matrix} {{\hat{d}}_{q}^{i} = {{\sum\limits_{l = 0}^{L_{i} - 1}\quad {{z_{{lQ}_{i} + q}^{i} \cdot \left( b_{{lQ}_{i} + q}^{i} \right)^{*}}\quad q}} = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} \\ {= {\sum\limits_{j = 1}^{K}\quad {\sum\limits_{m}{g_{m}^{ij}{\sum\limits_{l = 0}^{L_{i} - 1}\quad {x_{{lQ}_{i} + q - m}^{j} \cdot \left( b_{{lQ}_{i} + q}^{i} \right)^{*}}}}}}} \end{matrix} & (7) \end{matrix}$

[0059] Selection of Modulation Codes

[0060] Two types of modulation codes are described herein, block and phase ramp. The following description derives the conditions and codes required for maintaining orthogonality between the different data rate users in the system 100.

[0061] Block Modulation Codes

[0062] Let the modulation code for user i, b_(l) ^(i), be of the following form,

b_(lQ) _(l) _(+q) ^(i)=c_(l) ^(i) q=0 . . . (Q_(i)−1), l=0 . . . (L_(i) −1) b _(−q) ^(i)=b_(N−q) ^(i) q=1 . . . v  (8)

[0063] where the properties (and values) of the channelization code vector c_(L) _(l) _(,i)=c_(L) _(l) ^(i)=└c₀ ^(i) c_(l) ^(i) . . . c_(L) _(l) ⁻¹ ^(i)┘ for orthogonal user discrimination are to be determined as follows.

[0064] It can be seen from Eq. (8), that the modulation codes for user i, b_(l) ^(i), takes on only L_(i) different values and is constant (c_(l) ^(i)) for all data symbols in the I^(th) repetition of a symbol-block, f_(lQ) _(l) _(+q) ^(i) q=0 . . . (Q_(i)−1), within a repeated symbol-block, as shown in block sequence 300 of FIG. 10. Thus, from Eq. (2) and Eq. (8),

x _(lQ) _(l) _(+q) ^(i) =d _(q) ^(i) ·b _(lQ) _(l) _(+q) ^(i) =d _(q) ^(i) ·c _(l) ^(i) l=0 . . . (L_(i)−1), q=0 . . . (Q_(i)−1)  (9)

[0065] or, $\begin{matrix} {x_{l}^{i} = {{{d_{{(l)}_{Q_{i}}}^{i} \cdot c_{{({\lfloor\frac{l}{Q_{i}}\rfloor})}_{L_{i}}}^{i}}\quad l} = {0\quad \ldots \quad \left( {N - 1} \right)}}} & (10) \end{matrix}$

[0066] where, (a)_(b)=a mod b and $\left\lfloor \frac{a}{b} \right\rfloor = {{floor}\left( \frac{a}{b} \right)}$

[0067] is the flooring function. Using Eq. (8) in Eq. (7), an estimate of the transmitted Q_(i) data symbols of user i using block modulation codes is given as, $\begin{matrix} {{\hat{d}}_{q}^{i} = {{\sum\limits_{j = 1}^{K}\quad {\sum\limits_{m}{g_{m}^{ij}{\sum\limits_{l = 0}^{L_{i} - 1}\quad {{x_{{lQ}_{i} + q - m}^{j} \cdot \left( c_{l}^{i} \right)^{*}}\quad q}}}}} = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (11) \end{matrix}$

[0068] Now, consider the case where the data rate of user i is an integer multiple of user j, i.e., $\begin{matrix} {{Q_{i} = {{w_{ij}Q_{j}\quad w_{ij}} = {{positive}\quad {interger}}}}{L_{j} = {w_{ij}L_{i}}}} & (12) \end{matrix}$

[0069] Thus, from Eq. (12), as the repeated symbol-block duration (N) is the same for all users, the number of data block repetitions for user i (L_(i)) is w_(ij) times smaller than that for user j (L_(j)), as illustrated in FIG. 11. FIG. 11 shows exemplary symbol-block repetitions 310-320 for user i and user j. Using Eq. (10) and Eq. (12), it can be shown that for user j, $\begin{matrix} {{x_{{lQ}_{i} + q + \Delta}^{j} = {d_{{({q + \Delta})}Q_{j}}^{j} \cdot c_{{({{lw}_{ij} + \delta_{j}})}_{L_{j}}}^{j}}},{\delta_{j} = \left\lfloor \frac{q + \Delta}{Q_{j}} \right\rfloor},\begin{matrix} {l = {0\quad \ldots \quad \left( {L_{i} - 1} \right)}} \\ {q = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}} \end{matrix}} & (13) \end{matrix}$

[0070] Using Eq. (13) in Eq. (11) and substituting Δ=−m, an estimate of the transmitted Q_(i) data symbols of user i using block modulation codes can be written as, $\begin{matrix} {{{\hat{d}}_{q}^{i} = {\sum\limits_{j = 1}^{K}{\sum\limits_{m}{{g_{m}^{i\quad j} \cdot d_{({q - m})}^{j}}Q_{j}{\sum\limits_{l = 0}^{L_{i} - 1}{{\cdot c_{{({{l\quad w_{i\quad j}} + \delta_{j}})}_{L_{j}}}^{j}}c_{{(l)}_{L_{i}}}^{i^{*}}}}}}}}{q = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (14) \end{matrix}$

[0071] Now, let u and v be periodic sequences of length L. The periodic cross-correlation between u and v is given by, $\begin{matrix} {{R_{u\quad v}(\alpha)} = {{\sum\limits_{l = 0}^{L - 1}{{u_{l} \cdot v_{{({l + \alpha})}_{L}}^{*}}\quad \alpha}} = {0\quad \ldots \quad \left( {L - 1} \right)}}} & (15) \end{matrix}$

[0072] Defining, $\begin{matrix} {u_{l}^{j} = {{c_{{({{l\quad w_{i\quad j}} + \delta_{j}})}_{L_{j}}}^{j}\quad {and}\quad v_{l}^{i}} = {{c_{{(l)}_{L_{i}}}^{i^{*}}\quad l} = {0\quad \ldots \quad \left( {L_{i} - 1} \right)}}}} & (16) \end{matrix}$

[0073] Eq. (14) can be re-written as, $\begin{matrix} {{\hat{d}}_{q}^{i} = {{\sum\limits_{j = 1}^{K}{\sum\limits_{m}{{g_{m}^{i\quad j} \cdot d_{({q - m})}^{j}}Q_{j}{R_{u\quad v}^{j\quad i}(0)}\quad q}}} = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (17) \end{matrix}$

[0074] From Eq. (16), the sequence u_(l) ^(j) is the decimated version of c_(l) ^(j) by w_(ij) with by δ_(j) being the decimation phase. Now, from Eq. (17), the condition for no MAI or orthogonal user discrimination, $\begin{matrix} {{R_{u\quad v}^{j\quad i}(0)}\quad = \left\{ \begin{matrix} 0 & {{\forall{i \neq j}},{\forall\delta_{j}}} \\ {K,} & {{a\quad {const}\quad i} = j} \end{matrix} \right.} & (18) \end{matrix}$

[0075] That is, the zero lag component of the decimated periodic cross-correlation between the block modulation codes of the different data rate users must be zero for all decimation phases.

[0076] In the above analysis, it is assumed that user transmissions are received synchronously at the receiver (see Eq. (4)). For the case of asynchronous users (with cyclic extension being sufficiently long to tolerate worst case relative signal arrival delays between users and the channel pulse response duration), it can be shown that for no MAI, all lags (shifts) of the decimated periodic cross-correlation sequence must also be zero. Thus, in general, the condition for no MAI is, $\begin{matrix} \begin{matrix} {{R_{u\quad v}^{j\quad i}(\alpha)} = 0} & {{i \neq j},{\forall\delta_{j}},{\forall\alpha}} \end{matrix} & (19) \end{matrix}$

[0077] Based on Eq. (19), the estimate of the transmitted Q_(i) data symbols of user i using block modulation codes, Eq. (17), reduces to, $\begin{matrix} {{\hat{d}}_{q}^{i} = {{\sum\limits_{m}{{g_{m}^{i\quad i} \cdot d_{({q - m})}^{i}}Q_{i}{R_{u\quad v}^{i\quad i}(0)}\quad q}} = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (20) \end{matrix}$

[0078] For ideal equalization (complete elimination of Inter-symbol interference—ISI) or in no multipath, $\begin{matrix} {g_{m}^{i\quad i} = \left\{ \begin{matrix} {\quad {K,{a\quad {const}}}} & {m = 0} \\ {\quad 0} & {m \neq 0} \end{matrix} \right.} & (21) \\ {{\therefore{\hat{d}}_{q}^{i}} = {{{K \cdot d_{{(q)}_{Q_{i}}}^{i}}\quad q} = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (22) \end{matrix}$

[0079] It can similarly be shown that if the condition in Eq. (19) is satisfied, no MAI results in the demodulation of the lower data rate user j Eq. (17).

[0080] Summarizing Eqs. (3), (12) and (19), the conditions for orthogonal user discrimination, and thus no MAI for different data rate users, in a multipath channel using block modulation codes defined in Eq. (8) are:

[0081] 1. The repeated-symbol block duration of all users is the same, N=Q_(i)L_(i)=Q_(j)L_(j) ∀i,j

[0082] 2. The data rate for all users is an integer multiple (K) or an integer reciprocal (1/K) of each other, ${Q_{i} = {{w_{i\quad j}Q_{j}\quad {or}\quad Q_{i}} = {\frac{1}{w_{i\quad j}}Q_{j}}}},{{\sum\limits_{i}Q_{i}} \leq N},{w_{i\quad j} = {{positive}\quad {integer}\quad {\forall i}}},j$

[0083] =positive integer ∀i, j

[0084] 3. All lags (shifts) of the decimated periodic cross-correlation sequence between the channelization code vector, c_(L) _(i) _(,i) and c_(L) _(j) _(,j), of all users are zero,

R_(uv) ^(ji)(α)=0 i≠j, ∀δ_(j), ∀α

[0085] Extension For Rational Multiple Data Rate Between Users

[0086] The orthogonality conditions given above for block codes can be extended to support users with rational multiple data rates, i.e., rational symbol-block repetition factors as shown in FIG. 12 where, ${Q_{i} = {{w_{ij}Q_{j}\quad {or}\quad L_{j}} = {w_{ij}L_{i}}}},{{\sum\limits_{i}Q_{i}} \leq N},{w_{ij} = {{positive}\quad {rational}\quad {number}\quad {\forall i}}},{j.}$

[0087] Illustrated in FIG. 12 are examples of user i (330-334) and user j (336-340) symbol-block repetition within a repeated symbol-block. The support of rational multiple user data rates, such as w_(ij)=3/2 in FIG. 12, with orthogonal user discrimination improves the flexibility of the modulation to support a wide range of user data rate requirements. The following are the updated conditions for orthogonal user discrimination, and thus no MAI for different data rate users, in multipath channel using block modulation codes.

[0088] 1. The repeated-symbol block duration of all users is the same, N=Q_(i)L_(i)=Q_(j)L_(j) ∀i,j.

[0089] 2. The data rate for all users is a rational multiple of each other, ${Q_{i} = {{w_{ij}Q_{j}\quad {or}\quad L_{j}} = {w_{ij}L_{i}}}},\quad {{\sum\limits_{i}Q_{i}} \leq N},{w_{if} = {{positive}\quad {rational}\quad {number}\quad {\forall i}}},{j.}$

[0090] positive rational number ∀i,j.

[0091] 3 All lags (shifts) of the periodic cross-correlation sequence between the decimated channelization code vectors, c_(L) _(i) _(,i) and c_(L) _(j) _(,j), of all users must be zero for all possible decimation phases,

R_(uv) ^(ji)(α)=0 i≠j, ∀δ_(i), δ_(j), ∀α.

[0092] The decimation factor for each code vector is of the form, ${M_{r} = \frac{L_{r}}{\beta_{ij}}},\quad {r = i},j$

[0093] where β_(ij)=gcd(L_(i), L_(j)) gcd=greatest common factor and u_(i)^(j) = c_((IM_(j) + δ_(j))_(L_(j)))^(j)  and  v_(l)^(i) = c_((IM_(i) + δ_(i))_(L_(i)))^(i^(*))  l = 0  …  (β_(ij) − 1)

[0094] where δ_(i) and δ_(j) are the decimation phases and ${R_{uv}^{ji}(\alpha)} = {{\sum\limits_{l = 0}^{\beta_{ij} - 1}{{u_{l}^{j} \cdot v_{{({l + \alpha})}_{\beta_{ij}}}^{i^{*}}}\quad \alpha}} = {0\quad \ldots \quad {\left( {\beta_{ij} - 1} \right).}}}$

[0095] Block Channelization Codes

[0096] Referring again to the conditions for orthogonal user discrimination, a particular family of channelization codes that satisfies the orthogonality requirement of condition #3, is based on the rows of the L-dimensional discrete Fourier transform (DFT) matrix (C_(L)), $\begin{matrix} {C_{L} = {\begin{bmatrix} 1 & 1 & 1 & \cdots & 1 \\ 1 & W^{1} & W^{2} & \cdots & W^{({L - 1})} \\ 1 & W^{2} & W^{4} & \cdots & W^{2{({L - 1})}} \\ \vdots & \vdots & \vdots & ⋰ & \vdots \\ 1 & W^{({L - 1})} & W^{2{({L - 1})}} & \cdots & W^{{({L - 1})}{({L - 1})}} \end{bmatrix} = {\begin{bmatrix} c_{L,0} \\ c_{L,1} \\ c_{L,2} \\ \vdots \\ c_{L,{L - 1}} \end{bmatrix}\quad \begin{matrix} {L = \quad {1\quad \ldots \quad N}} \\ {W = \quad e^{{- {j2}}\quad {\pi/L}}} \end{matrix}}}} & (23) \end{matrix}$

[0097] By proper assignment of the DFT-based channelization codes, c_(L,k), orthogonal user discrimination in a multipath channel can be achieved with different data rate users satisfying condition #2, however a large number of assignments are possible. Examples of a few channelization code assignments using code tree structures 350-380 are shown in FIG. 13.

[0098] As can be seen from the example code trees 350-380 in FIG. 13, a wide range of data rates is possible in principle by subdividing each node in a tree (at a particular stage) into b branches. The data rate achieved by each subsequent branch is then b times smaller than that of its parent. Thus, users with different data rate requirements can be supported by proper assignment of one of the channelization codes subject to the following rules and constraints:

[0099] 1. When a specific code is used, no other code on the path from that code to the root and on the sub-tree beneath that code can be used, and

[0100] 2. All the codes at any depth into the tree are the set of DFT basis functions (C_(L)={C_(L,k)}) for that dimension (L).

[0101]FIG. 14 shows a flow chart 400 outlining a method for channelization code assignment. In step 401, a user data rate requirement is received. In step 402, the depth in the code tree that satisfies the user data rate requirement is determined. In decision step 404, a check is made to determine whether any unused codes are currently available at the requested data rate. If so, the user is assigned to an available code, and all codes on the path from the assigned code to the root and all codes on the sub-tree beneath the assigned code are marked as unavailable (step 408).

[0102] If no codes are available at the requested rate, the user can be re-scheduled for transmission at a later time, or alternatively, the user can be assigned a code corresponding to a higher or lower data rate (step 406).

[0103] Phase Ramp Modulation Codes

[0104] The analysis for phase ramp modulation codes is similar to that described above herein for block modulation codes. Let the modulation code for user i, b_(l) ^(i), be of the following form,

b_(l) ^(i)=e^(−jlθ) _(i) l=−v . . . (N−1)  (24)

[0105] where the properties (and values) of the channelization code θ_(i) needed for orthogonal user discrimination are to be determined. From Eq. (24), the phase of the modulation codes for user i, b_(l) ^(i), increase linearly throughout the symbol duration. Thus, from Eqs. (2) and (24), $\begin{matrix} {{x_{{lQ}_{i} + q}^{i} = {{d_{q}^{i} \cdot b_{{lQ}_{i} + q}^{i}} = {d_{q}^{i} \cdot {\exp \left\lbrack {{- {j\left( {{lQ}_{i} + q} \right)}}\theta_{i}} \right\rbrack}}}}{{l = {0\quad \ldots \quad \left( {L_{i} - 1} \right)}},{q = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}}} & (25) \\ {{or},{x_{l}^{i} = {{d_{{(l)}_{Q_{i}}}^{i}^{{- j}\quad l\quad \theta_{i}}\quad l} = {0\quad \ldots \quad \left( {N - 1} \right)}}}} & (26) \end{matrix}$

[0106] where, (a)_(b)=a mod b.

[0107] Using Eq. (24) in Eq. (7), an estimate of the transmitted Q_(i) data symbols of user i using phase ramp modulation codes can be written as, $\begin{matrix} {{\hat{d}}_{q}^{i} = {{\sum\limits_{j = 1}^{K}{\sum\limits_{m}{g_{m}^{ij}{\sum\limits_{l = 0}^{L_{i} - 1}{{x_{{lQ}_{i} + q - m}^{j} \cdot \left( ^{{- {j{({{lQ}_{i} + q})}}}\theta_{i}} \right)^{*}}\quad q}}}}} = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (27) \end{matrix}$

[0108] Now, like block modulation codes, consider the case where the data rate of user i is an integer multiple of user j, i.e., $\begin{matrix} \begin{matrix} {Q_{i} = \quad {{w_{ij}Q_{j}\quad w_{ij}} = {{positive}\quad {integer}}}} \\ {L_{j} = \quad {w_{ij}L_{i}}} \end{matrix} & (28) \end{matrix}$

[0109] Thus, from Eq. (28), since the repeated symbol-block duration (N) is the same for all users, the number of symbol-block repetitions for user i (L_(i)) is w_(ij) times smaller than that for user j (L_(j)) as was shown in FIG. 11.

[0110] Using Eq. (26) and Eq. (28), it can be shown that for user j, $\begin{matrix} {x_{{lQ}_{i} + q + \Delta}^{i} = {d_{{({q + \Delta})}_{Q_{j}}}^{j}^{{- {j{({{lQ}_{i} + q + \Delta})}}}\theta_{j}}}} & (29) \end{matrix}$

[0111] Using Eq. (29) in Eq. (27) and substituting Δ=−m, an estimate of the transmitted Q_(i) data symbols of user i using phase ramp modulation codes can be written as, $\begin{matrix} {{{\hat{d}}_{q}^{i} = {\sum\limits_{j = 1}^{K}{\sum\limits_{m}{{g_{m}^{i\quad j} \cdot d_{{({q - m})}_{Q_{j}}}^{j}}{\sum\limits_{l = 0}^{L_{i} - 1}{{\cdot ^{{- {j{({{l\quad Q_{i}} + q - m})}}}\theta_{j}}} \cdot ^{{j{({{l\quad Q_{i}} + q})}}\theta_{i}}}}}}}}{q = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (30) \end{matrix}$

$\begin{matrix} {{{\hat{d}}_{q}^{i} = {\sum\limits_{j = 1}^{K}{\sum\limits_{m}{{g_{m}^{i\quad j} \cdot d_{{({q - m})}_{Q_{j}}}^{j} \cdot ^{j\quad m\quad \theta_{j}}}{^{j\quad {q{({\theta_{i} - \theta_{j}})}}} \cdot {\sum\limits_{l = 0}^{L_{i} - 1}{\cdot ^{j\quad l\quad {Q_{i}{({\theta_{i} - \theta_{j}})}}}}}}}}}}{q = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (31) \end{matrix}$

[0112] From Eq. (31), the condition for no MAI or orthogonal user discrimination is, $\begin{matrix} {{\sum\limits_{l = 0}^{L_{i} - 1}{\cdot ^{j\quad l\quad {Q_{i}{({\theta_{i} - \theta_{j}})}}}}} = \left\{ {\begin{matrix} 0 & {\forall{i \neq j}} \\ K & {i = j} \end{matrix}\quad {\forall Q_{i}}} \right.} & (32) \end{matrix}$

[0113] From Eq. (32), the estimate of the transmitted Q_(i) data symbols of user i using phase ramp modulation codes satisfying Eq. (31) reduces to, $\begin{matrix} {{{\hat{d}}_{q}^{i} = {K{\sum\limits_{m}{{g_{m}^{i\quad i} \cdot d_{{({q - m})}_{Q_{i}}}^{i}}^{j\quad m\quad \theta_{i}}}}}}{q = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (33) \end{matrix}$

[0114] For ideal equalization (complete elimination of Inter-symbol interference—ISI) or in no multipath as indicated by Eq. (21), $\begin{matrix} {{{\hat{d}}_{q}^{i} = {K \cdot d_{{(q)}_{Q_{i}}}^{i}}}{q = {0\quad \ldots \quad \left( {Q_{i} - 1} \right)}}} & (34) \end{matrix}$

[0115] It can likewise be shown that if the condition in Eq. (32) is satisfied, no MAI results in the demodulation of the lower data rate user j (Eq. (28)).

[0116] Thus, in summary, from Eqs. (3), (28) and (32), the conditions for orthogonal user discrimination, and thus no MAI, in a multipath channel for different data rate users using phase ramp modulation codes defined in Eq. (24) are:

[0117] 1. The repeated symbol-block duration of all users is the same, N=Q_(i)L_(i)=Q_(j)L_(j) ∀i,j.

[0118] 2. The data rate for all users is an integer multiple (K) or an integer reciprocal (1/K) of each other, $Q_{i} = {{w_{i\quad j}Q_{j}\quad {or}\quad Q_{i}} = {\frac{1}{w_{i\quad j}}Q_{j}}}$ ${w_{i\quad j} = {{positive}\quad {integer}\quad {\forall i}}},j,{{\sum\limits_{i}Q_{i}} \leq {N.}}$

[0119] 3. The modulation (and hence channelization) codes for all users must satisfy, ${\sum\limits_{l = 0}^{L_{i} - 1}^{j\quad l\quad {Q_{i}{({\theta_{i} - \theta_{j}})}}}} = \left\{ {\begin{matrix} 0 & {\forall{i \neq j}} \\ K & {i = j} \end{matrix}\quad {\forall{Q_{i}.}}} \right.$

[0120] Extension For Rational Multiple Data Rate Between Users

[0121] As for block modulation codes, the orthogonality conditions given above for phase ramp codes can be extended to support users with rational multiple data rates, i.e., rational symbol-block repetition factors as was shown in FIG. 12. The support of rational multiple user data rates with orthogonal user discrimination improves the flexibility of the modulation to support a wide range of user data rate requirements. The following are the updated conditions for orthogonal user discrimination, and thus no MAI for different data rate users, in a multipath channel using phase ramp modulation codes:

[0122] 1. The repeated-symbol block duration of all users is the same, N=Q_(i)L_(i)=Q_(j)L_(j) ∀i,j.

[0123] 2. The data rate for all users is a rational multiple of each other, Q_(i) = w_(i  j)Q_(j)  or  L_(j) = w_(i  j)L_(i), ∑Q_(i) ≤ N, w_(i  j) = positive  rational  number  ∀i, j

[0124] positive rational number ∀i,j

[0125] 3. The modulation (and hence channelization) codes for all users must satisfy, ${\sum\limits_{l = 0}^{\beta_{i\quad j} - 1}^{j\quad l\quad {Q_{i}{({\theta_{i} - \theta_{j}})}}}} = \left\{ {{\begin{matrix} 0 & {\forall{i \neq j}} \\ K & {i = j} \end{matrix}\quad {\forall Q_{i}}},{K = {{{constant}\quad {where}\quad \beta_{i\quad j}} = {{{\gcd \left( {L_{i},L_{j}} \right)}\gcd} = {{greatest}\quad {common}\quad {{factor}.}}}}}} \right.$

[0126] where β_(ij)=gcd(L_(i), L_(j)) gcd=greatest common factor.

[0127] Phase Ramp Channelization Codes

[0128] Channelization codes that satisfy the orthogonality requirement in condition 3 above are of the following form, $\begin{matrix} {\theta_{i} = {\theta_{L_{i},i} = {\frac{2\pi \quad i}{Q_{i}L_{i}} = \frac{2\pi \quad i}{N}}}} & (35) \end{matrix}$

[0129] Thus, by proper assignment of the channelization codes, θ_(L) _(i) _(, i), orthogonal user discrimination in a multipath channel can be achieved for different data rate users satisfying condition 2. However, similar to block modulation codes, there are a large number of code assignments possible. Examples of a few channelization code assignments using code tree structures 420-450 are shown in FIG. 15.

[0130] As can be seen from the examples in FIG. 15, a wide range of data rates is possible by subdividing each node in the tree (at a particular stage) into b branches. The data rate achieved by each subsequent branch is then b times lower than that of its parent branch. Thus, users with different data rate requirements can be supported by proper assignment of one of the channelization codes subject to the following rule:

[0131] “When a specific code is used, no other code on the path from that code to the root and on the sub-tree beneath that code can be used.”

[0132] The flow chart 400 of FIG. 14 shows a method of channelization code assignment that is the same for block and phase ramp modulation codes.

[0133] The conditions derived above for orthogonal user discrimination using block and phase ramp modulation codes are also valid for the inverse order of operations in receivers, namely, code correlation followed by equalization as in FIG. 8. In addition, it is possible to equalize all the users at once using frequency domain equalization techniques.

[0134] Asynchronous Users

[0135] For the case of asynchronous users, an additional guard period of length greater than the worst-case relative signal arrival delays between users (PD) is required in order to maintain orthogonality. The receiver then selects the appropriate temporal position (window) of the N symbol samples (assuming 1× oversampling) that are free from multiple access interference (MAI) for all users. FIG. 16 shows an example for the case of three asynchronous users.

[0136] It can be shown that for a cyclic extension of length v and relative delays/advance, Δ_(i), of user i with respect to a reference user, e.g. user A, possible starting positions, Δ, of the MAI free temporal window (with respect to the reference user) satisfy the following relation,

Δ_(max) +v≦Δ≦P _(D)+Δ_(min) +v, Δ _(max) =max(Δ_(i)), Δ_(min) =min(Δ _(i))  (36)

[0137] Thus, from Eq. (36), multiple uncorrupted N-symbol sample windows are possible for the case when the relative delays are less than the maximum delay, P_(D). The receiver can select any one of these sampling instances for further processing.

[0138]FIG. 17 shows a flow chart 480 for the temporal window selection process for the case of asynchronous users. In step 401, a signal is received by the receiver 104. In step 482, relative delays are computed for the users relative to a reference user. From these relative delays, a minimum delay and a maximum delay are determined (step 484). In step 486, possible temporal starting points of a window free of MAI is determined. In step 488, samples from the window are selected. In step 489, these samples are provided to the equalization and code correlation functions of the receiver, as described in connection with FIGS. 5-8.

[0139] Additional redundant samples can be used as side information to improve the received signal-to-noise ratio, and thus, the detector performance in the receiver. It should also be noted that a user dependent rotation of demodulated data symbols can be used prior to forward error correction decoding.

[0140] An alternative method for achieving multirate users is to assign more than one code to a particular user and linearly combine the individual code modulated signals. However, such a scheme could suffer from large peak-to-average ratio due to linear addition of the modulation signals. In addition, other multiple access protocols, such as time division multiple access (TDMA) or code division multiple access (CDMA) protocols, can be used in conjunction with or run on top of the multi-rate IFDMA scheme described herein.

[0141] While specific embodiments of the present invention have been shown and described, it will apparent to those skilled in the art that the disclosed invention may be modified in numerous ways and may assume many embodiments other than those specifically set out and described above. Accordingly, the scope of the invention is indicated in the appended claims, and all changes that come within the meaning and range of equivalents are intended to be embraced therein. 

We claim:
 1. A method of modulating a signal, comprising: providing an interleaved frequency division multiple access (IFDMA) modulation scheme for transferring information using a communication system; providing assignment rules for defining a plurality of data rates; and modulating the signal using the IFDMA modulation scheme and at least one of the data rates.
 2. The method of claim 1, further comprising, varying the data rate of the modulated signal based on the channel conditions of a channel used by the communication system.
 3. The method of claim 1, further comprising, selecting a modulation code for the signal.
 4. The method of claim 3, wherein the modulation code is one of a block modulation code and a phase ramp modulation code.
 5. The method of claim 4, wherein the block modulation code is based on an L-dimensional discrete Fourier transform (DFT) matrix defining a channelization code.
 6. The method of claim 3, wherein the modulation code is selected based on a code tree.
 7. The method of claim 1, wherein the data rates are selected using a code tree.
 8. An apparatus, comprising, a transmitter modulating a signal at a selected one of a plurality of data rates using an interleaved frequency division multiple access (IFDMA) modulation scheme.
 9. The apparatus of claim 8, wherein the transmitter includes, means for applying a user-specific symbol block repetition value in the IFDMA modulation scheme.
 10. The apparatus of claim 8, wherein the transmitter includes, means for applying a user-specific modulation code in the IFDMA modulation scheme.
 11. The apparatus of claim 8, wherein the transmitter includes a pulse-shaping filter.
 12. The apparatus of claim 8, wherein the transmitter includes means for adding a cyclic extension to the signal.
 13. The apparatus of claim 12, wherein the cyclic extension has a length greater than the sum of a relative signal arrival delay between a plurality of users and the channel pulse response duration.
 14. The apparatus of claim 8, wherein the transmitter includes, a serial-to-parallel converter for converting the signal to a multi-symbol vector representation.
 15. The apparatus of claim 8, wherein the transmitter includes, a parallel-to-serial converter for converting the modulated signal to a serial representation prior to transmission.
 16. A communication system, comprising: a transmitter modulating a signal using a multi-rate interleaved frequency division multiple access (IFDMA) modulation scheme; and a receiver, operatively coupled to the transmitter over a channel, for demodulating the signal using a multi-rate IFDMA demodulation scheme.
 17. The communication system of claim 16, wherein the channel is a radio frequency (RF) communication channel.
 18. The communication system of claim 16, wherein the multi-rate IFDMA modulation scheme provides predetermined assignment rules for selecting a plurality of data rates.
 19. The communication system of claim 16, wherein the multi-rate IFDMA modulation scheme provides predetermined assignment rules for specifying a modulation code.
 20. The communication system of claim 19, wherein the modulation code is selected from a block modulation code and a phase ramp modulation code.
 21. The communication system of claim 19, wherein the modulation code is selected to maintain orthogonality between information modulated at different data rates.
 22. A method of demodulating a signal, comprising: equalizing the signal; correlating the equalized signal with a predetermined modulation code; combining block repetitions of the correlated signal; and detecting one or more symbols based on the combined block repetitions.
 23. The method of claim 22, further comprising, filtering the signal.
 24. The method of claim 22, further comprising, performing an A/D conversion on the signal.
 25. The method of claim 22, further comprising, removing a cyclic extension.
 26. The method of claim 22, wherein the step of equalizing includes a step selected from the group consisting of: performing a frequency domain equalization, performing a time-domain equalization, performing a decision feedback equalization, performing an iterative equalization, performing an ISI cancellation, performing a turbo equalization, and performing a maximum likelihood sequence estimation.
 27. The method of claim 22, wherein the modulation code is selected from a group consisting of a block modulation code and a phase ramp modulation code.
 28. A method of demodulating a signal, comprising: correlating the signal with a predetermined modulation code; combining block repetitions of the correlated signal; and detecting one or more symbols based on the combined block repetitions.
 29. The method of claim 28, further comprising, filtering the signal.
 30. The method of claim 28, further comprising, performing an A/D conversion on the signal.
 31. The method of claim 28, further comprising, removing a cyclic extension.
 32. The method of claim 28, wherein the modulation code is selected from the group consisting of a block modulation code and a phase ramp modulation code.
 33. The method of claim 28, further comprising, equalizing the combined block repetitions.
 34. The method of claim 33, wherein the step of equalizing includes a step selected from the group consisting of: performing a frequency domain equalization, performing a time-domain equalization, performing a decision feedback equalization, performing an iterative equalization, performing an ISI cancellation, performing a turbo equalization, and performing a maximum likelihood sequence estimation.
 35. A receiver, comprising: an equalizer for equalizing an input signal; a correlator, operatively couple to the equalizer, for correlating the equalized signal using a predetermined modulation code; and a block combiner, operatively coupled to the correlator, for combining block repetitions of the correlated signal.
 36. The receiver of claim 35, further comprising, an intermediate frequency (IF) filter, operatively coupled to the equalizer, for filtering the signal prior to it being equalized.
 37. The receiver of claim 35, further comprising, an A/D converter for performing an A/D conversion on the signal.
 38. The receiver of claim 35, further comprising, means for removing a cyclic extension.
 39. The receiver of claim 35, wherein the equalizer performs an equalization selected from the group consisting of: a frequency domain equalization, time-domain equalization, decision feedback equalization, iterative equalization, ISI cancellation, turbo equalization, and maximum likelihood sequence estimation.
 40. The receiver of claim 35, wherein the modulation code is selected from the group consisting of a block modulation code and a phase ramp modulation code.
 41. The receiver of claim 35, further comprising, a detector, responsive to the output of the block combiner, for detecting one or more symbols based on the combined block repetitions.
 42. A receiver, comprising: a correlator for correlating a signal using a predetermined modulation code; a block combiner, operatively coupled to the correlator, for combining block repetitions of the correlated signal; and an equalizer, operatively coupled to the block combiner, for equalizing the output of the block combiner.
 43. The receiver of claim 42, further comprising, an intermediate frequency (IF) filter for filtering the signal prior to it being correlated.
 44. The receiver of claim 42, further comprising, an A/D converter for performing an A/D conversion on the signal.
 45. The receiver of claim 42, further comprising, means for removing a cyclic extension.
 46. The receiver of claim 42, wherein the equalizer performs an equalization selected from the group consisting of: a frequency domain equalization, time-domain equalization, decision feedback equalization, iterative equalization, ISI cancellation, turbo equalization, and maximum likelihood sequence estimation.
 47. The receiver of claim 42, wherein the modulation code is selected from a block modulation code and a phase ramp modulation code.
 48. The receiver of claim 42, further comprising, a detector, responsive to the equalized signal, for detecting one or more symbols based on the equalized combined block repetitions. 